﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;

namespace FeiYang
{
    static  class 材料行_
    {
        static public Rectangle 物品范围 = Rectangle.FromLTRB(324, 200, 373, 226);
        static public Rectangle 出售范围 = Rectangle.FromLTRB(739, 200, 790, 226);
        static public Rectangle 购买范围 = Rectangle.FromLTRB(928, 200, 983, 226);
        static public Rectangle 声望库存位置 = Rectangle.FromLTRB(540, 422, 579, 447);

        static public bool 打开材料行()
        {
            键鼠_.左键单击(933, 80);
            var 结果 = 其他_.循环判断(() => 图像_.查找文字(物品范围, s=> s =="物品").X != -1 && 图像_.查找文字(出售范围, s=>s == "出售").X != -1 && 图像_.查找文字(购买范围, s=>s == "购买").X != -1, 10, 400);
            if (!结果) throw new Exception("打开材料行失败");
            return 结果;
        }

        static public int 查看声望库存()
        {
            return 其他_.尝试编译数字(图像_.识别文字(声望库存位置));
        }

        static public bool 购买声望()
        {
            键鼠_.左键单击(954, 443);
            var 结果 = 其他_.循环判断(() => 图像_.查找文字(577, 327, 652, 361, s=>s.Contains("声望")).X != -1, 10, 400);
            if (结果)
            {
                var 数量 = "1";
                再来_:
                键鼠_.左键单击(583, 384);
                其他_.延迟(其他_.时长_400);
                键鼠_.输入文本(数量);
                其他_.延迟(其他_.时长_400);
                键鼠_.左键单击(523, 438);
                其他_.延迟(其他_.时长_400);
                var 库存 = 查看声望库存();
                if (库存 > 0)
                {
                    数量 = Math.Max((库存 - 2), 1).ToString();
                    goto 再来_;
                }
                return true;
            }
            return false;
        }
    }
}
